package framework;

import protocol.http.HttpProtocol;

import java.util.Iterator;
import java.util.ServiceLoader;

public class ProtocolFactory {

    public static Protocol getProtocol(){

        ServiceLoader<Protocol> serviceLoader = ServiceLoader.load(Protocol.class);
        Iterator<Protocol> iterator = serviceLoader.iterator();
        while (iterator.hasNext()){
            return iterator.next();
        }
        return new HttpProtocol();
        //工厂模式
//        String protocolName = System.getProperty("protocolName");
//        if(protocolName==null||protocolName.equals(""))protocolName="http";
//        switch(protocolName){
//            case "http":
//                return new HttpProtocol();
//            case "dubbo":
//                return new DubboProtocol();
//            default:
//                break;
//        }
//        return new HttpProtocol();
    }
}
